﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace System.Peppers.ShellExtensions
{
    internal static class ShellExtensionHelper
    {
        public static void ReflectAttributes(Type type, out GuidAttribute guidAttr, out ShellExtensionAttribute extAttr)
        {
            guidAttr = null;
            extAttr = null;

            //Reflect on attributes
            object[] attributes = (object[])type.GetCustomAttributes(false);
            for (int i = 0; i < attributes.Length; i++)
            {
                object attribute = attributes[i];
                if (attribute is GuidAttribute)
                {
                    guidAttr = (GuidAttribute)attribute;
                }
                else if (attribute is ShellExtensionAttribute)
                {
                    extAttr = (ShellExtensionAttribute)attribute;
                }

                if (guidAttr != null && extAttr != null)
                {
                    break;
                }
            }
        }
    }
}
